草庐IT

GoRoutines,具有 WaitGroup 意外输出的 channel

全部标签

具有调用私有(private)方法的静态方法的 Ruby 类?

我有一个包含许多静态方法的类。每个人都必须调用一个通用方法,但我尽量不公开后一种方法。将其设为私有(private)只允许从该类的自己的实例进行访问?Protected似乎也不能解决这里的问题。如何在静态上下文中隐藏do_calc不被外部调用?(让它可以从前两个静态方法调用。)classFoodefself.bardo_calc()enddefself.bazdo_calc()enddefself.do_calcendend 最佳答案 首先,static并不是Ruby行话的真正组成部分。举个简单的例子:classBardefself

ruby - 如何找到具有最大值的数组的索引

我有一个元素数组。如果我执行arr.max,我将获得最大值。但我想获取数组的索引。如何在Ruby中找到它例如a=[3,6,774,24,56,2,64,56,34]=>[3,6,774,24,56,2,64,56,34]>>a.maxa.max=>774我需要知道774的索引,即2。我如何在Ruby中执行此操作? 最佳答案 a.index(a.max)shouldgiveyouwantyouwant 关于ruby-如何找到具有最大值的数组的索引,我们在StackOverflow上找到一个

ruby - 如何使用 Active Record 查找具有重复数据的记录

使用ruby​​和新的Activerecord查找列中具有重复值的记录的最佳方法是什么? 最佳答案 将@TuteC翻译成ActiveRecord:sql='SELECTid,COUNT(id)asquantityFROMtypesGROUPBYnameHAVINGquantity>1'#=>Type.select("id,count(id)asquantity").group(:name).having("quantity>1") 关于ruby-如何使用ActiveRecord查找具有重

ruby - 有一个 ruby​​ 脚本输出正在运行它的 ruby​​ 版本

如何让我的ruby​​脚本输出运行它的ruby​​版本? 最佳答案 RUBY_VERSION常量包含ruby​​解释器的版本号,RUBY_PATCHLEVEL包含补丁级别,因此:putsRUBY_VERSION输出例如2.2.3,同时:putsRUBY_PATCHLEVEL输出例如173。它可以像这样一起使用:ruby-e'print"ruby#{RUBY_VERSION}p#{RUBY_PATCHLEVEL}"'输出例如ruby2.2.3p173 关于ruby-有一个ruby​​脚本输

ruby - 具有命名捕获组的正则表达式在 Ruby 中获取所有匹配项

我有一个字符串:s="123--abc,123--abc,123--abc"我尝试使用Ruby1.9的新功能“命名组”来获取所有命名组信息:/(?\d*)--(?\s*)/是否有像Python的findall那样返回matchdata集合的API?在这种情况下,我需要返回两个匹配项,因为123和abc重复两次。每个匹配数据都包含每个命名捕获信息的详细信息,因此我可以使用m['number']获取匹配值。 最佳答案 命名捕获只适用于一个匹配结果。Ruby的findall类比是String#scan.您可以使用scan结果作为数组,或将

ruby - 将 pp 的结果(或输出到控制台的任何内容)放入字符串中

我们知道require'pp'a=["value1","value2","value3"]ppa漂亮地将数组作为输出打印到控制台。我如何将漂亮的输出转换为字符串(一个包含使事情变得漂亮的换行符的字符串等)?...目的是从方法中返回漂亮的字符串。 最佳答案 string_value=a.pretty_inspect#pretty_inspect也会在您第一次需要“pp”时出现-请参阅:http://ruby-doc.org/stdlib-2.1.0/libdoc/pp/rdoc/Kernel.html#method-i-pretty_

ruby-on-rails - 在 rails 3 中使用 helpers 输出 html

我正在尽最大努力构建一个帮助器,输出一个由集合的所有成员组成的。对于集合中的每个成员,我想打印出一个,它有一个标题,以及一个指向该成员的CRUD链接的div。这与Rails为索引View的脚手架输出非常相似。这是我得到的助手:defdisplay_all(collection_sym)collection=collection_sym.to_s.capitalize.singularize.constantize.allname=collection_sym.to_s.downcasehtml=''html"formemberincollectiondohtmlmember.title

ruby - 在 ruby​​ 脚本中运行时使用 'system' 方法抑制命令运行的输出

我不确定这是否有意义,但我在想是否有办法在使用ruby​​中的system方法运行时抑制命令显示的输出?我的意思是它应该只输出true或false到STDOUT而不是命令的输出。我认为只有当命令可以静默运行而不是从system方法运行时才能完成。有人可以提供更多见解吗? 最佳答案 如果您想利用Kernel.system的可变参数形式,它可以避免shell的许多引用问题,您可以使用相同的optionswhichKernel.spawnaccepts.TL;DR-使用:out=>File::NULL使Kernel.system的输出静音

ruby - Rails 控制台未将 SQL 语句输出到我的开发日志

当我通过本地主机访问我的Webrick服务器时,或者当我运行railsmigrations时,我的development.log被正确写入。但是,当我使用“railsc”启动我的rails控制台,然后尝试创建一个新的数据库对象并通过“user.save”之类的命令保存它时,我在控制台中看到了SQL语句,但没有写入任何内容开发日志。大多数人在回答与此类似的问题时会说“检查以确保配置设置为正确的环境”。我已经这样做了,并且可以在我的系统上说这发生在一个全新的Rails应用程序上。如有任何帮助,我们将不胜感激。谢谢! 最佳答案 rails

ruby-on-rails - 让 Rails URL 助手自动输出 https url

我正在开发一个大量混合使用http和https的网站-使链接使用正确的路由协议(protocol)的最佳/最简单方法是什么-可以在路由文件中指定吗?假设我在Rails3中有以下路线。match"/test"=>"test#index",:as=>:test,:constraints=>{:protocol=>'https'}如果我在http页面上,并且我使用test_url(),它会输出http://domain.com/test.我要https://domain.com/test相反。我知道我可以使用test_url(:secure=>true),但那是重复逻辑。我知道我可以http